package br.com.fogas.database.dao.impl;

import java.sql.SQLException;
import java.util.List;

import com.j256.ormlite.dao.BaseDaoImpl;
import com.j256.ormlite.stmt.QueryBuilder;
import com.j256.ormlite.support.ConnectionSource;

import br.com.fogas.database.IMetadata.ICanal;
import br.com.fogas.database.dao.ICanalDao;
import br.com.fogas.database.entidade.Canal;
import br.com.fogas.webservice.parser.cliente.T_Canal_Setor_Item;

public class CanalDao extends BaseDaoImpl<Canal, Integer> implements ICanalDao {
	
	public CanalDao(ConnectionSource connectionSource) throws SQLException {
		super(connectionSource, Canal.class);
	}

	@Override
	public void sincronizar(List<T_Canal_Setor_Item> canais) throws SQLException {
		for (T_Canal_Setor_Item item : canais) {
			Canal canal = new Canal(item);
			create(canal);
		}
	}

	@Override
	public List<Canal> listarCanaisPorCodCliente(String codCliente) throws SQLException {
		QueryBuilder<Canal, Integer> query = queryBuilder();
		List<Canal> canais = query.where().eq(ICanal.tx_cod_cliente, codCliente).query();
		return canais;
	}

	@Override
	public Canal listarCanalPorCodCliente(String codCliente)
			throws SQLException {
		List<Canal> canais = listarCanaisPorCodCliente(codCliente);
		
		if(canais.size() == 1) {
			return canais.get(0);
		} else {
			return null;
		}
	}
}